package Operator;

/**
 * @author : niu niu
 * @version : 1.0.0
 * @date : 2022/8/17 11:08
 * 位运算符：
 *      1. &:两个二进制位都是1，则返回1，否则就是0
 *      2. |:两个二进制位都是0，则返回0，否则就是1
 *      3. ^:两个二进制位不相同返回1，否则就是0
 *      4. ~ 按位取反 ： 0变1， 1变0
 *          正数绝对值取反-1
 *      5. 移位运算：左移 <<1 正数*2
 *                  右移 >>1 正数/2
 *                  无符号右移
 *  在java中，2进制用 0b10 = 2;
 *           8进制用 010 = 8;
 *           10进制用 10 = 10;
 *           16进制用 0x10 = 16;
 */
public class BitOperator {
    public static void main(String[] args) {
        int a =10;
        int b =20;
        System.out.println(a&b);
        System.out.println(a|b);
        System.out.println(a^b);
        //2进制
        System.out.println(0b10);
        //8进制
        System.out.println(010);
        //10进制
        System.out.println(10);
        //16进制
        System.out.println(0x10);
        //取反
        int num = 0xf;
        System.out.println(~num);
    }
}
